/**
 * @description 创建 sequelize 实例，完成配置
 */

const Sequelize = require('sequelize')
const { MYSQL_CONF } = require('../conf/db')
const { isPrd,isTest } = require('../utils/env')

const { host,user,password,port,database } = MYSQL_CONF;
const conf = {
  host,
  dialect: 'mysql',
  define:{
    freezeTableName: true //全局定义：不需要生产表名为复数
  }
}

//test环境下不打印sql语句
if (isTest) {
  conf.logging = () => {}
}

//线上环境使用连接池
if ( isPrd ) {
  conf.pool = {
    max: 5, //连接池中最大的链接数量
    min: 0, //最小数量
    idle: 10000 //若一个连接池10s之内没有被使用，则释放
  }
}

const seq = new Sequelize(database,user,password,conf)


module.exports = seq

